package cn.tude.xml;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class WebXMLDemo {
    /**
     * 读取./XMLDemo/config/web.xml 文件
     * 遍历文件中 mime-mapping 元素
     * 根据mime-mapping元素的内容创建一个Map对象，其中
     * -extension 中的文本信息  作为map的key
     * -mime-type 中的文本信息  作为map的value
     * @param args
     */
    public static void main(String[] args) throws DocumentException {

            File file=new File("./XMLDemo/config/web.xml");
            SAXReader reader= new SAXReader();
            Document doc=reader.read(file);
            //System.out.println(doc.asXML());
            //获取根元素
            Element webApp=doc.getRootElement();
            //获取根元素中全部mime-mapping子元素
            List<Element> mimeMappings=webApp.elements("mime-mapping");
            Map<String,String> mimeMapp = new HashMap<>();
            for (Element mimeMapping:mimeMappings){
                String ext=mimeMapping.elementTextTrim("extension");
                String type=mimeMapping.elementTextTrim("mime-type");
                //System.out.println(ext+": "+type);
                mimeMapp.put(ext,type);
            }
            System.out.println(mimeMapp);
    }
}
